package cn.shiwei.dome._1_hello;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

import java.io.IOException;
import java.util.concurrent.TimeoutException;

public class Hello {

    public static final String QUEUE_HELLO_NAME = "queue_hello_name";

    public static void main(String[] args) throws IOException, TimeoutException {
        // 创建链接工厂(不设置参数, 使用默认配置)
        ConnectionFactory connectionFactory = new ConnectionFactory();

        // 获取链接
        Connection connection = connectionFactory.newConnection();

        // 获取通道
        Channel channel = connection.createChannel();

        // 获取队列
        channel.queueDeclare(
                QUEUE_HELLO_NAME, // 队列的名字
                true, // 是否进行持久化操作
                false, // 表示该队列不是独占该通道
                false, // 表示关闭自动删除
                null // 表示没有其他参数
        );

        // 发布消息
        channel.basicPublish(
                "", // 表示使用默认的交换机
                QUEUE_HELLO_NAME, // routingKey, hello模式与队列名相同即可
                null, // 携带的其他参数
                "无极".getBytes() // 发送的信息本体(需要字节数组)
        );

        System.out.println("信息发送");
    }
}
